
let arr = [
  [1,2],
  [3,4],
  [5, [6,7,[8,9]]]
];
/**
 * 1、flat
 */
let arr1 = arr.flat(Infinity);
/**
 * 2、toString 
 */ 
let arr2 = arr.toString().split(',')
/**
 * 3、while循环
 */
while(arr.some(item => Array.isArray(item))) {
  arr = [].concat(...arr)
}
/**
 * 4、递归
 */
function flat(arr) {
  return arr.reduce((result, item) => {
    return result.concat(Array.isArray(item) ? flat(item) : item)
  })
}